package com.jams.goodox.net.services;


import com.jams.goodox.constant.UrlConstants;
import com.jams.goodox.entity.ActiveApplyDetail;
import com.jams.goodox.entity.ActiveInfoBean;
import com.jams.goodox.entity.ActiveMemberListBean;
import com.jams.goodox.entity.CommentBean;
import com.jams.goodox.entity.resp.ActiveContactResp;
import com.jams.goodox.entity.resp.ActiveDetailResp;
import com.jams.goodox.entity.resp.ActiveListResp;
import com.jams.goodox.net.BaseEntity;

import java.util.Map;

import retrofit2.Call;
import retrofit2.http.DELETE;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Path;
import retrofit2.http.QueryMap;

/**
 * Created by hgz
 * 园区服务
 */
public interface ActiveService {

    // 获取园区列表
    @GET(UrlConstants.activeNeighborList)
    Call<ActiveListResp> getActiveNeighborList(@QueryMap Map<String, String> names);

    // 获取园区详情
    @GET(UrlConstants.activeNeighborDetail)
    Call<ActiveDetailResp> getActiveNeighborDetail(@Path("id") String id);

    // 获取评论列表
    @GET(UrlConstants.activeCommentList)
    Call<CommentBean> getActiveCommentList(@Path("id") String id, @QueryMap Map<String, String> names);

    //添加评论
    @FormUrlEncoded
    @POST(UrlConstants.neighbourComments)
    Call<BaseEntity> neighbourComments(@Path("modelType") String modelType, @Path("id") String id, @FieldMap Map<String, String> names);

    //删除评论
    @DELETE(UrlConstants.deleteComments)
    Call<BaseEntity> deleteComments(@Path("id") String id);

    // 获取时间／地点／项目
    @GET(UrlConstants.activeInfoList)
    Call<ActiveInfoBean> getActiveInfoMationList(@Path("activeId") String activeId);

    // 参与人列表
    @GET(UrlConstants.activePartPeopleList)
    Call<ActiveContactResp> getActivePartPeopleList(@QueryMap Map<String, String> names);


    // 添加参与人
    @FormUrlEncoded
    @POST(UrlConstants.activeAddActivityMember)
    Call<BaseEntity> addActivityMembers(@FieldMap Map<String, String> names);

    // 活动参与人列表
    @GET(UrlConstants.activityMemberList)
    Call<ActiveMemberListBean> activityMemberList(@QueryMap Map<String, String> names);

    // 我的活动报名详
    @GET(UrlConstants.activityApplyDetail)
    Call<ActiveApplyDetail> getActivityApplyDetail(@Path("activityUserId") String activityUserId);
}
